#pragma once

namespace liba
{
namespace lib3d
{
namespace node
{

class Node;

class ProxyVisitor
{
public:
	virtual void CreateNodeProxy(lib3d::node::Node * node) = 0;
	virtual void CreateRootProxy(lib3d::node::Node * node) = 0;
	virtual void CreateCameraProxy(lib3d::node::Node * node) = 0;
	virtual void CreateAnimation2DProxy(lib3d::node::Node * node) = 0;
	virtual void CreateTextProxy(lib3d::node::Node * node) = 0;
	virtual void CreateSpriteProxy(lib3d::node::Node * node) = 0;
};

}
}
}